feat(mobile): add OpenAI-compatible, OpenRouter LLM and STT provider selection#57
Open
mmaudet wants to merge 3 commits intoCoreWorxLab:mainfrom
Open
feat(mobile): add OpenAI-compatible, OpenRouter LLM and STT provider selection#57mmaudet wants to merge 3 commits intoCoreWorxLab:mainfrom
mmaudet wants to merge 3 commits intoCoreWorxLab:mainfrom
Conversation
…selection Add provider parity with the web frontend: - 4 LLM providers: Ollama, Groq, OpenAI-compatible, OpenRouter (2x2 grid toggle) - Independent STT provider selection (Speaches/Groq Whisper) - OpenAI-compatible: base URL + optional API key + test + model dropdown - OpenRouter: API key + test + searchable model list - STT section with shared Groq API key awareness - i18n keys added for EN/FR/IT (ARB + generated Dart) Closes CoreWorxLab#54 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- unawaited_futures: wrap fire-and-forget futures with unawaited() (WakelockPlus, Piper download, retry calls) - discarded_futures: wrap futures in non-async callbacks with unawaited() (Navigator.push, EventsListener.dispose, showModalBottomSheet) - deprecated_member_use: value → initialValue in DropdownButtonFormField - unnecessary_const: remove redundant const in button.dart flutter analyze now reports 0 issues. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…fixes - Backend test endpoints (groq, openai-compatible, openrouter) now fall back to stored API keys when none provided in the request - OpenRouter model picker uses modal bottom sheet instead of inline list to fix tap detection issues in Flutter web - OpenAI Compatible API key field shows masked hint when key is stored - Language dropdown uses backend value instead of local provider default - Language selection syncs _language field to prevent save from overwriting Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bug fix: settings persistence
During manual testing, we identified that test endpoints failed with "Invalid API key" when revisiting settings, because the backend doesn't return secret fields and the test was sent without a key. Fixed by:
test-groq,test-openai-compatible, andtest-openrouterendpoints now fall back to the stored API key fromsettings.jsonwhen none is provided_languageon change, causing_save()to overwrite the user's selection with the old valueTest plan
flutter analyzepasses with 0 issues